前面我們已經安裝好 ThinkPHP 5.1,那麼接下來並不是直接切入 ThinkPHP 開發,因為如果你不了解它的目錄結構,你會搞不清楚東西在哪裡,甚至該放哪裡,所以這一章節就讓我們來了解一下 ThinkPHP 的目錄結構吧!
首先先讓我們來看一下剛剛安裝好的 ThinkPHP 5.1 目錄結構 ↓
在這邊我會將最主要的目錄資料夾給列出來,這幾個是核心文件與目錄,所以請務必要記一下:
php think run
or php think v
(查看版本號等)。public
。router.php
。讓我們先來讓我們來看一下 think 這個檔案,打開後可以看到裡面程式碼超級簡單
我們可以看到第 16 行是主要讀取框架的語法,在以前我開發使用 ThinkPHP 3.2.4 的時候,其實並不會讓核心框架目錄預設名稱,通常會改成 core
之類,主要是避免一些問題,但是基本上在 ThinkPHP 5.1 之後我個人非常不推薦修改目錄名稱,因為修改後你會有許多地方要做調整,基本上足夠讓你調老半天...
但是真正的默認入口文件是在 /public/index.php
,而 think 就像我前面講的,它主要是給命令視窗的入口檔案,但是內容會跟 think 檔案 87% 像 ↓
如果你還是堅持要調整核心資料夾名稱的話,我這邊也提供我的調整方式給你參考,首先打開 /public/index.php
並修改成你要調整的名稱(這邊我是調整成 core
,後面章節我會改回來原始名稱)。
接下來打開 think 檔案,一樣的動作 ↓
最後再將原本的 ThinkPHP 核心框架資料夾改成你要的即可(我是改成 core
) ↓
接下來就試著運行看看 ThinkPHP 有沒有任何問題 ↓
當然我最後還是要提醒一下,我不建議修改核心目錄(ThinkPHP)唷。
application 將會是我們後面章節最常使用的地方,舉凡 Controller、Model、View 都會在這裡,但是這邊有一個地方非常特別,在預設 ThinkPHP 的狀況下,並不會替你建立 view & model 資料夾,正常狀況下你只會看到一個 controller ↓
那後面我還會針對 application 做一些介紹以及程式碼的撰寫,所以這邊只是提出來稍微講一下而已。
部分地方我就沒特別去講解了,因為我們最主要會動到的資料夾其實大多都是在 application 下,頂多偶爾動一下 router.php 而已。
另外 ThinkPHP 的 URL 主要是透過 route 來決定,如果在沒有註冊路由的狀況下則會基於原始的方式做訪問,如官方手冊所提:
(以下擷取至開發手冊)
http://serverName/index.php(或者其它入口文件)/模块/控制器/操作/参数/值…
如果用原始的方式瀏覽是真的滿麻煩的(汗)。
本文將同步發表於:https://hsiangfeng.github.io/php/20190908/337959933/